﻿using System;
using System.ComponentModel.DataAnnotations;

namespace viBook.Models
{
    public abstract class Report
    {
        public int Id { get; set; }
        public int UserId { get; set; }
        public DateTime ReportedDate { get; set; }
        public bool IsApproved { get; set; }
    }

    public class ReportOnChapterComment : Report
    {
        public int ChapterCommentId { get; set; }
        [NotMapped]
        public virtual ChapterComment ChapterComment { get; set; }
    } 
    
    public class ReportOnBookComment : Report
    {
        public int BookCommentId { get; set; }
        [NotMapped]
        public virtual BookComment BookComment { get; set; }
    }
 

    public class ReportOnBook : Report
    {
        public int BookId { get; set; }
        public virtual Book Book { get; set; }
    }

    public class ReportOnUser : Report
    {
        public int ReporteeId { get; set; }
        public virtual User Reportee { get; set; }
    }
}
